170 research outputs found

    Enabling Cross-Event Optimization in Discrete-Event Simulation Through Compile-Time Event Batching

    Get PDF
    A discrete-event simulation (DES) involves the execution of a sequence of event handlers dynamically scheduled at runtime. As a consequence, a priori knowledge of the control flow of the overall simulation program is limited. In particular, powerful optimizations supported by modern compilers can only be applied on the scope of individual event handlers, which frequently involve only a few lines of code. We propose a method that extends the scope for compiler optimizations in discrete-event simulations by generating batches of multiple events that are subjected to compiler optimizations as contiguous procedures. A runtime mechanism executes suitable batches at negligible overhead. Our method does not require any compiler extensions and introduces only minor additional effort during model development. The feasibility and potential performance gains of the approach are illustrated on the example of an idealized proof-ofconcept model. We believe that the applicability of the approach extends to general event-driven programs

    Let It TEE: Asynchronous Byzantine Atomic Broadcast with n ≥ 2f + 1

    Get PDF
    Asynchronous Byzantine Atomic Broadcast (ABAB) promises, in comparison to partially synchronous approaches, simplicity in implementation, increased performance, and increased robustness. For partially synchronous approaches, it is well-known that small Trusted Execution Environments (TEE), e.g., MinBFT\u27s unique sequential identifier generator (USIG), are capable of reducing the communication effort while increasing the fault tolerance. For ABAB, the research community assumes that the use of TEEs increases performance and robustness. However, despite the existence of a fault-model compiler, a concrete TEE-based approach is not directly available yet. In this brief announcement, we show that the recently proposed DAG-Rider approach can be transformed to provide ABAB with n≥2f+1n\geq 2f+1 processes, of which ff are faulty. We leverage MinBFT\u27s USIG to implement Reliable Broadcast with n>fn>f processes and show that the quorum-critical proofs of DAG-Rider still hold when adapting the quorum size to ⌊n2⌋+1\lfloor \frac{n}{2} \rfloor + 1

    On Extend-Only Directed Posets and Derived Byzantine-Tolerant Replicated Data Types (Extended Version)

    Full text link
    We uncover the extend-only directed posets (EDP) structure as a unification of recently discussed DAG-based Byzantine-tolerant conflict-free replicated data types (CRDT). We also show how a key-value map model can be derived from the EDP formulation, and give an outlook on an EDP-based systemic access control CRDT as a formalization of the CRDT used in the Matrix messaging system.Comment: With the inclusion of an appendix of a formalization and CRDT proof sketch of an EDP-based CRDT with systemic access control, this is an extended version of the paper presented at the 10th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC), 2023-05-08, Rome, Ital

    On Extend-Only Directed Posets and Derived Byzantine-Tolerant Replicated Data Types

    Get PDF
    We uncover the extend-only directed posets (EDP) structure as unification of recently discussed DAG-based Byzantine-tolerant conflict-free replicated data types (CRDT). We also derive an EDP-based key-value map, and give an outlook on an EDP-based systemic access control CRDT as formalization of the CRDT used in the Matrix messaging system

    Do Payment Channel Networks Need a Blockchain? - Rethinking Blockchain Layers

    Get PDF
    One of the fundamental problems in designing digital currencies is the prevention of double-spends. The breakthrough of Bitcoin lies in its seminal idea to use a global blockchain to verify whether a coin has already been spent. Bitcoin’s approach to prevent double-spends, however, has the drawback that it does not scale in the number of transactions issued per second. To address this problem, current research explores building second layer architectures on top of the blockchain, such as payment channel networks. Although these architectures use a blockchain as their underlying layer, they need to solve the problem of preventing double-spends again. As it seems inefficient to solve the same problem multiple times, we explore whether payment channel networks with their way of preventing double-spends can be used to create an architecture for digital payments that is to some extent decentralized but does not require a blockchain as its underlying layer. A payment channel requires from its underlying layer a way to lock a channel’s funds during the lifetime of the channel. Instead of locking funds on a blockchain, this can be implemented by depositing funds at a trusted third party who is trusted to make the funds available again upon channel closure. In our current financial system, users deposit money into their bank accounts and trust their bank to make these funds available upon request. Making use of this trust, we build on the ideas of Tremback et al. and propose an architecture for a payment channel network where banks, or similar entities, perform the role of the underlying blockchain. In this architecture, a bank provides each channel with a unique identifier and locks a channel’s funds. When one party closes the channel, the bank informs the other party. In case of dispute about the channel’s closing state, the bank has to decide which state is most current and close the channel accordingly. By connecting multiple payment channels, a payment channel network can be created, which allows for decentralized payments using traditional currencies. Similar to cash, single payments cannot be tracked by banks in this architecture. To prevent the architecture from attracting illegal activities, the capacity of payment channels could be limited to a maximum value. Compared to exchanging traditional currencies for cryptocurrencies to use a payment channel network, this architecture removes the cost of currency exchanges and the risk introduced by exchange rate fluctuations

    Towards a Formal Verification of the Lightning Network with TLA+

    Get PDF
    Payment channel networks are an approach to improve the scalability of blockchain-based cryptocurrencies. Because payment channel networks are used for transfer of financial value, their security in the presence of adversarial participants should be verified formally. We formalize the protocol of the Lightning Network, a payment channel network built for Bitcoin, and show that the protocol fulfills the expected security properties. As the state space of a specification consisting of multiple participants is too large for model checking, we formalize intermediate specifications and use a chain of refinements to validate the security properties where each refinement is justified either by model checking or by a pen-and-paper proof

    Verifying Payment Channels with TLA+

    Get PDF
    A payment channel protocol does not only have to provide the payment functionality, it also has to fulfill security guarantees such as ensuring that an honest party receives their correct balance. For complexity reasons, it is typically difficult to assess the security of such a protocol or to find counterexamples in insecure protocols. In this poster, we present an approach to specify functional as well as security properties for a payment channel protocol in TLA+ and show that a Lightning Network-style protocol fulfills the required properties. In case a counterexample is found, we provide protocol developers with a graphical and intuitive output. We present the challenges we faced and our approach to meeting these challenges

    On Extend-Only Directed Posets and Derived Byzantine-Tolerant Replicated Data Types

    Get PDF
    We uncover the extend-only directed posets (EDP) structure as unification of recently discussed DAG-based Byzantine-tolerant conflict-free replicated data types (CRDT). We also derive an EDP-based key-value map, and give an outlook on an EDP-based systemic access control CRDT as formalization of the CRDT used in the Matrix messaging system

    Brief Announcement: Let It TEE: Asynchronous Byzantine Atomic Broadcast with n ≥ 2f+1

    Get PDF
    Asynchronous Byzantine Atomic Broadcast (ABAB) promises simplicity in implementation as well as increased performance and robustness in comparison to partially synchronous approaches. We adapt the recently proposed DAG-Rider approach to achieve ABAB with n ≥ 2f+1 processes, of which f are faulty, with only a constant increase in message size. We leverage a small Trusted Execution Environment (TEE) that provides a unique sequential identifier generator (USIG) to implement Reliable Broadcast with n > f processes and show that the quorum-critical proofs still hold when adapting the quorum size to ⌊ n/2 ⌋ + 1. This first USIG-based ABAB preserves the simplicity of DAG-Rider and serves as starting point for further research on TEE-based ABAB

    Report Dagstuhl Seminar 10402 - Working Group on Fundamental Limits and Opportunities

    Get PDF
    This working group investigated first steps towards finding a theoretical foundation for inter-vehicle communication. The main outcome is a sketch of a roadmap for future work in this direction
    • …
    corecore